package com.deer.wms.ASN.manage.model.asn;

import com.baomidou.mybatisplus.annotation.TableField;
import com.deer.wms.project.root.model.BaseEntity;
import com.sun.javafx.binding.StringFormatter;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Table;

/**
 * @author wei
 */
@Getter
@Setter
@NoArgsConstructor
@Table(name = "asn_detail")
public class AsnDetail extends BaseEntity {
    private static final long serialVersionUID = -2320913036747248309L;

    /**
     * ASN单号
     */
    @Column(name = "bill_no")
    private String billNo;

    /**
     * ASN详情单号
     */
    @Column(name = "detail_no")
    private String detailNo;

    /**
     * 采购详情单号
     */
    @Column(name = "request_detail_detail_no")
    private String requestDetailDetailNo;

    /**
     * 状态
     */
    private Integer state;

    /**
     * 质检状态  1- 不合格  0-待质检  1-合格
     */
    private Integer qcState;

    /**
     * 物料编码
     */
    @Column(name = "item_code")
    private String itemCode;

    /**
     * 物料名称
     */
    @Column(name = "item_name")
    private String itemName;

    /**
     * 物料图片
     */
    private String imgUrl;

    /**
     * 规格
     */
    private String spec;

    /**
     * 型号
     */
    private String model;

    /**
     * 包装编码
     */
    private String packCode;

    /**
     * 包装详情ID
     */
    @Column(name = "pack_detail_id")
    private Integer packDetailId;

    /**
     * 包装描述
     */
    @Column(name = "pack_describe")
    private String packDescribe;

    /**
     * 转换率
     */
    private Double transRatio;

    /**
     * 预期到货数量
     */
    @Column(name = "expect_quantity")
    private Double expectQuantity;

    /**
     * 验收数量
     */
    @Column(name = "accept_quantity")
    private Double acceptQuantity;

    /**
     * 验收包装描述ID
     */
    private Integer acceptPackDetailId;

    /**
     * 验收包装描述
     */
    private String acceptPackDescribe;

    /**
     * 验收转换率
     */
    private Double acceptTransRatio;

    /**
     * 收货时间
     */
    @Column(name = "accept_time")
    private String acceptTime;

    /**
     * 自定义1
     */
    @Column(name = "asn_udf_ds1")
    private String asnUdfDs1;

    /**
     * 自定义2
     */
    @Column(name = "asn_udf_ds2")
    private String asnUdfDs2;

    /**
     * 自定义3
     */
    @Column(name = "asn_udf_ds3")
    private String asnUdfDs3;

    /**
     * 备注
     */
    private String memo;

    /**
     * 上架数量
     */
    private Double upperQuantity;

    /**
     * 上架包装ID
     */
    private Integer upperPackDetailId;

    /**
     * 上架包装描述
     */
    private String upperPackDescribe;

    /**
     * 上架转换率
     */
    private Double upperTransRatio;

    /**
     * 调拨明细编码
     */
    private String allotDetailNo;

    /**
     * 异常状态
     */
    private Integer exState;

    private Integer expectPackDetailId;

    private String expectPackDescribe;
    private String version;
    private String latestVersion;
    private String erpBatch;

    @TableField(exist = false) //数量
    private Double Qty;

    @TableField(exist = false) //批号
    private String batchName;
    //仓库id
    private Integer stockId;
    //仓库名称
    private String stockName;
    //客户编码
    private String clientCode;
    //制单员工号
    private String makeEmpNo;
    //生产订单号
    private String moCode;
    //生产订单备料id
    private String moPick;
    //组织ID
    private String org;
    //采购单位
    private String unitName;
    //申请类型
    private String typeNo;
    //ASN单行号erp_batch
    private int erpLineNo;
    //ASN单行号erp_batch
    private int shipLineNo;
    //供应商编码
    private String supplierCode;
    //来源采购单据号
    private String srcDocNo;
    //退回处理单行ID
    private Long srcDocLine;
    //来源采购订单据行号
    private int srcDocLineNo;
    //单据ID
    private Long documentId;
    //ASN单行ID
    private Long line;
    //客户编码
    private String wldwNo;
    //领料单类别( 0 生产领料 , 1 生产退料 , 默认 0 )
    private int issueType;
    //存储地点编码
    private String whCode;
    private int status;
    //应发(应退)数量
    private Double issueQty;
    //实发(实退)数量
    private Double issuedQty;
    //生产订单累计退料数量
    private Double recedeIssuedQty;
    //批号
    private String lotNo;
    //生产订单ID
    private Long mo;


}
